1. Technical Field
The present invention relates to an electronic device such as a printer and, more particularly, to an electronic device to be controlled on the basis of the operations of a control program (or a firmware program), and to an electronic device having a downloading function of the control program.
2. Related Art
In the conventional electronic device such as an ink jet type printer, an actuator such as a sheet feeding motor or a recording head is controlled in its drive by executing a print control program (or a firmware program). In the electronic device of this kind, the specifications are frequently updated (or upgraded). With a view to giving a specific function of the user's need to the printer, the firmware program is often written in a nonvolatile memory so that an update to overwrite the firmware program of a new version in the nonvolatile memory is performed at the time of updating the specifications as disclosed in Japanese Patent Publication No. 9-114614A (JP-A-9-114614), for example. In the nonvolatile memory, however, the program is erroneously erased or not rewritten at its portion when it is rewritten, so that the data such as the program is more frequently broken than the non-rewritable memory (or the read only memory) such as a mask ROM. When this abnormal program is executed to drive and control the actuator or the like, the electronic device may be left inactive, or its trouble may be induced, as the case may be, by an abnormal operation.
In Japanese Patent No. 3572861, for example, there is disclosed a method, in which a program inspecting function is provided to perform an inspection at an initial operation time so that the print control program is downloaded and updated in a case where the inspection discovers an abnormal state. According to this method, in a case where the abnormal state is discovered as the result of the inspection of the print control program, the print control program is downloaded from a host computer. In order to give the electronic device the download function, the memory has to be stored with a communication program for enabling the electronic device to communicate with the communicator of the host computer of a download source.
In a case where the downloading communication program fails, however, there arises a problem that the print control program cannot be updated.
Moreover, there is also conceived a configuration. In this configuration, in order that the download may be performed even in a case where the communication program fails, another program is stored with another communication program (or a second communication program), which can download the firmware program and the communication program. However, the communication program to perform communications by using the USB interface which is recently coming mainstream of the communication method between the printer and the host computer adopts the communication protocol, in which the USB communication method matches one-to-many communications so that it has a relatively large program data capacity. In other words, the USB communication method needs exchanges requesting the printer much intrinsic information so that the host computer may recognize the printer or its communication party. Therefore, the intrinsic information data or many processing procedures have to be contained in the program so that the data capacity of the communication program is liable to become relatively massive. The addition of this communication program occupies the wide recording area of another memory. As a result, there are invited situations requiring the treatments that the addition of another program to another memory is abandoned, that another memory is replaced by one having a larger storage capacity and a higher price, and that still another memory is added.